;*****************************************************************	
		;;***WRITTEN BY BADR GROUP**
		;;***ENG Ahmad Fayed&Ahmad ELalfy&Mohamad ELmelegy&Mohamad ELnewehy&Mostafa ELsamragy***
               	;;***DISCRIBTION:COUNTER(MANUAL) USING 16F84A&(2)7SEGMENT INCRESING&DECREASING&MAKE IT ZREO BY 3 SWITCHS*** 
TIMER1 EQU 0C
TIMER3 EQU 0D
LIST P=16F84A
#INCLUDE<P16F84A.INC>
		BSF STATUS,5
		MOVLW B'00010011'	
		MOVWF TRISA
		CLRF TRISB
		MOVLW B'10001000'
		MOVWF OPTION_REG
		BCF STATUS,5
		CLRF TIMER1
		CLRF TIMER3
		GOTO LOOP
	;;SUP
FAYED   	CALL LOOP
		CALL DIS1
		BSF PORTA,2
	  	BCF PORTA,3
		CALL LOOP
		CALL DIS3
		BCF PORTA,2
	   	BSF PORTA,3
		GOTO FAYED
DIS1    	MOVF TIMER1,0
		CALL PTRN1
		BSF PORTA,2
	  	BCF PORTA,3
		MOVWF PORTB
	RETURN
DIS3    	MOVF TIMER3,0
		CALL PTRN1
		BSF PORTA,3
	  	BCF PORTA,2
		MOVWF PORTB
	RETURN
AA      	SLEEP
		BTFSS PORTA,0
		GOTO AA
	RETURN
AA1	    	CLRF TIMER1
        	INCF TIMER3
		BTFSS TIMER3,0
		GOTO ACTION3
		BTFSS TIMER3,1
		GOTO ACTION3
		BTFSS TIMER3,3
		GOTO ACTION3
		GOTO AA4
AA2		SLEEP
		BTFSS PORTA,1
		GOTO AA2
	RETURN
AA4	    	CLRF TIMER3                      
		GOTO  FAYED 
AA5		MOVLW B'00001001'
		MOVWF TIMER1
		CALL DIS1
		MOVLW B'00001001'
		MOVWF TIMER3
		CALL DIS3
		GOTO ACTION5
PTRN1		ADDWF PCL,1
		RETLW B'10000001';0
		RETLW B'11110101';1
		RETLW B'00101001';2		
		RETLW B'00110000';3
		RETLW B'01010101';4
		RETLW B'00010011';5
		RETLW B'00000011';6	
		RETLW B'10110101';7
		RETLW B'00000001';8
		RETLW B'00010001';9	
		RETLW B'10000001';0
LOOP		SLEEP
SW1		BTFSS PORTA,0
		GOTO ACTION1
SW2		BTFSS PORTA,1
		GOTO AHMED1
SW3    		BTFSS PORTA,4
		GOTO SW33
	RETURN
SW33		CLRF TIMER1
		CLRF TIMER3
		CALL DIS1
		CALL DIS3
		GOTO FAYED
ACTION1		INCF TIMER1,1
		BTFSS TIMER1,1
		GOTO ACTION11
		BTFSS TIMER1,3
		GOTO ACTION11
		CALL DIS1
		GOTO AA1
ACTION11 	CALL DIS1	
		CALL AA
		GOTO FAYED	
ACTION2		DECF TIMER1,1
		GOTO BB
GG		CALL DIS1
		CALL AA2
		GOTO FAYED
BB		BTFSS TIMER1,0
		GOTO GG
		BTFSS TIMER1,1
		GOTO GG
		BTFSS TIMER1,2
		GOTO GG
		BTFSS TIMER1,3
		GOTO GG
		GOTO AHMED1
ACTION3		CALL DIS3
		CALL AA
		GOTO FAYED
AHMED1		CLRW
		ADDWF TIMER1,1
		BTFSC STATUS,2
      		GOTO AHMED2
	    	GOTO ACTION2 
AHMED2		CLRW
		ADDWF TIMER3,1
		BTFSC STATUS,2
      		GOTO AA5
       		GOTO ACTION4   
ACTION4		DECF TIMER3
		CALL DIS3
		MOVLW B'00001001'
		MOVWF TIMER1
		CALL DIS1
		CALL AA2
		GOTO FAYED
ACTION5		CALL AA2
		GOTO FAYED
END





